Automatic typesetting controls



Feb. S, 1966 W W, GARTH, JR, EIAL 3,234,363

AUTOMATIC TYPESETTING CONTROLS 5 Sheets-Sheet 1 Filed Nov. 24, 1961 Feb. S, 1966 w w, GARTH, JR., ET AL 3,234,363

AUTOMATIC TYPESETTING CONTROLS 3 Sheets-Sheet 2 Filed Nov. 24, 1961 ITMQH: mmc/mmm OZOOmw OP Feb. 8, 1966 w. w. GARTH, JR., ETAL 3,234,363

AUTOMATIC TYPESETTING CONTROLS 5 Sheets-Sheet 5 Filed Nov'. 24, 1961 ATTORNEYS nited States Patent O 3,234,363 AUTOMATIC TYPESETTNG CONTROLS William W. Garth, Jr., Concord, and Ellis P. Hanson,

Rockport, Mass., assignors to Compugraphic Corporation, Brookline, Mass., a corporation of Massachusetts Filed Nov. 24, 1961, Ser. No. 154,601 13 Claims. (Cl. 23S-151.22)

This invention relates in general to graphic arts, and more particularly to a data processing apparatus providing output signals for controlling the type setting process.

High speed type setting is now generally accomplished by the use of line casting machines which may be manually operated or operated by a perforated tape control. These machines are capable of composing lines of type of varying type faces and type cases, depending upon the key levers Which are actuated either by the operator or by the operation of the tape. After all of the information to be included within a line is thus composed, each line is justified, that is, the inter-word spacings are adjusted so that the completed line is of a predetermined, definite length.

When perforated tape is used to control the input of the line casting machine, this tape is transcribed from a machine having a keyboard similar to a typewriter but incluing many control and function keys which must be struck by the operator in order to provide for proper line casting operation. The complexity of the operation of this keyboard renders it diiiicult to obtain both high speed and high accuracy which are primary requirements in many printing operations. Thus, for example, directory listings such as telephone listings, involve a very large number of symbols, and errors in even a single symbol may make an individual listing entirely useless. Yet, each such listing involves the striking of many function keys and additionally each listing requires operator judgment in order to be justified before printing.

To illustrate this problem, a typical leadered, justified listing is shown below as it must appear in a telephone directory:

Finch .Tas N E Savin Lane EM -7299 where the underlined letters represent a diierent type face from the remainder of the line. In order to keyboard this line for normal perforated tape controlled line casting operation, the line must be keyboarded as follows, where the underlined letters indicate function codes and justifying leader dots, as listed immediately below:

TS TS SB TS TS SB r is rail shift s is shift for upper case p is unshift from upper case TS is Thin Space SB is Space Band I is return E is elevate As can be seen, not only does each control and function code require a separate key stroke, but each interrupts the normal rhythm of typing.

The line justification in this type of listing is to a large extent accomplished by varying the number of leader dots between the street address and the beginning of the telephone exchange. Thus, some provision must be made for calculating the total Width values of all of the characters and spaces, including the exchange and number, prior to inserting the leader dots. Several methods have been devised for accomplishing this, as, for example, in manual line casting, the operator estimates and keyboards 3,234,363 Patented Feb. 8, 1966 ICC the estimated number of leaders. If incorrect, the operator, in a separate step, removes or adds the appropriate number of leader mats from or to the assembly elevator. In another technique, using a tape perforator, the operator watches a justification pointer which continuously indicates the approximate space remaining in the line. A skilled operator can thus estimate and keyboard the number of leaders required. If in error, however, as will often be the case, the appropriate tape portion must be rubbed out and the correct number inserted in a second operation.

If the total width ofthe accumulated characters exceeds the predetermined length of the line, then the characters must be split into two lines. Every operation of justification, leadering, and two-line decision requires operators to watch a justification indicator. This, in fact, is a distraction from the keyboard and the copy. In order to correct an error incorporated into the line, `the perforated tape for the portion of the line already typed must be revvound and punched-over with -a code-delete or rub-out signal, and a fresh start undertaken. In normal opera-tion, a substantial amount of the operators keyboard time is involved lin watching the width value justiiication indicator and in the decision of justification.

It is therefore a primary object of the present invention -to provide a data processing system capable of substantially reducing keyboard operation while simultaneously enhancing quality and accuracy of data composition.

It is another object of the invention to provide a data processing system, useful in connection with typewriters, line casting and photocomposing machines, and the like, wherein keyboard operation is reduced to the insertion of a minirnnm input consisting of the variable alpha-numeric characters and spaces in a single type face, while control functions, including leader dot justification, are performed automatically in accordance with a predetermined program.

Another object of this invention is to provide a data processing system for line casting composition, particularly applicable to listings, Where the operator need only keyboard the variable information to be listed and all other reiterated functions are automatically carried out to produce a justified line listing with appropriate leader dots, spaces and qualifications of type case and type face.

It is still another object of this invention to provide a data processing system for generating a tape control for a line casting machine in which the operator need only keyboard the listing information and in which any line may be deleted by a single keyboard stroke.

Broadly speaking, the data processing apparatus of this invention requires that only the variable alpha-numeric and interword spacing information to be listed need be keyboarded by the operator, While the reiterated pattern of function control and line justification are automatically carried out by a computer having a predetermined program. A particular embodiment of the apparatus for accomplishing this includes a pair of reader elements arranged to view the input tape and to trailslate the signals thereon into electrical form. The output of the first reader is applied to a compu-ter, which has been programmed with the reiterated pattern of qualications of type .face and type case. This computer operating on the output of the first reader calculates `the difference between the xtotal accumulated Width value of all of the spaces and characters including the type qualification and a predetermined width value representing the desired line length, thereby obtaining a line ju-stication -control signal. This justification signal is then placed in a memory storage unit. The second reader, acting upon `the `same coded section of input tape, which has been previouslytranslated by the first reader, again generates -electrical vsignals Arepresenting this information `and introduces these signalsinto the -computer element at a time `subsequent to the 'time that the rst reader introduced this information. The computer element again determinesthesappropriatequalifications of type face and ltype case for each-of the characters ina line, and, in this instance,vgenerates. output signals representing the spaces andy characters in this qualified form. These out- Vput signals, together withthe justification signal from the storage element which is inserted at the appropriate :time intothe out-putsequence, is applied to an output encoder which generates -output signals, for controlling the line casting machine. T-hese'output signals-may be lfirst .translated Ainto a perforated Vtape for line casting .machine control at thel convenience of the operator, but Vmay be used immediately as a .direct input-to themach-ine.

The operation ofV this .apparatus will perhaps be more clearly understood in `terms ofthe illustration `cited above for telephone directory listing. Three typical telephone directly listingsare shown first 4in `terms ofaninput key- -boarding for the present data processing apparatus, then in terms of an output tapeicoding, and finally in terms Yof 4the appearance -of the lcast lines:

Input Keyboardz'ng TS TS SB TS TS SB TS Elevate finch ijas i n i 234 i Savin i lane i ern i 254351 TS U S U TS SB TS SB Elevate nchi i le i r i oy i a i sedaliai rd i 257889 i,

TS SB TS SB TS Elevata finch i thomas i 16 i barues i eliot i 56798i where TS is Thin Space;

.S is the shift to upper case;

U is the unsh-ift from upper case;

ASB is Space Band; and `Elevate is an end of line code on the keyboard.

Tot-al keystrokes for the three lines: 106

Output Tape Coding (Underlined function codes are as previously listed) TS TS SB TS TS SB TS S U Lfglnch i sigas i snp i 234 .i s spavini i, 1 iane i r. .Y ,semgi 2:5435 R E TS TS TS TS SB fginch i, plesrgoy sau i gsjdalia i srgd i r 25437889@ TS TS SB TS SB TS Efujnch i stuhos i sig 16 i sbuarnes r. .seluiot i 5:6798R E Total keystrokes for the three lines=190 Simulated Appearance f Cast Lines (Bold F ace Type Underlined) Finch gg l\ 234 Savin Lane EM 2-5435 Finch leRoy Sedalia Rd 25a-7889 Finch Thos l 16 Barnes Elliot 5-6798 20 ing machine.

in 4the Vusual reiterated pattern for a particular listing may also be accommodated. Thus, note that a name such as leRoy, without an initial capital may be inserted, automatically, as will be seen below. While the code indicating the Vends of-name and address is indicated as SB, any distinct codes stolen from unused keys on the keyboard may be used instead.

Other objects and advantages will become apparent from the lfollowing detailed description when taken in conjunction with the accompanying drawing in which:

FIG. l is a general illustration in block diagrammatic form of the data processing apparatus of this invention; and

FIGS. 2 and 3, when takenl together, comprise a block diagram of the data processing system of the invention as shown in FIG. l, but with greater detail.

With reference now specifically to FIG. l, the data processing apparatus of this invention is functionally diagrammed Ifor operation 4in association with a line cast- A first reader .unit 11 is arranged to read a coded input tape, preferably punched paper tape, although magnetic tape `or other conventional ystorage media may be used. Assuming punched paper tape, for convenience of discussion, typical input data would be codes corresponding in character to those shown earlier under the heading of Input Keyboarding. This means lthat only the varia-ble alpha-numeric information of the listings, together with a minimum of function codes are furnished. No data representing the number of leader dots is provided.

As the tape ows through, reader 11 provides a binary parallel output representing the information read therefrom, as, for example, a 6-bit electrical code. This 6-bit parallel output is impressed upon a width computer and encoder unit 12 which is Controlled by the operation of the program unit 20. The program unit 20 supplies to the width computer and encoder 12 the criteria for applying to the input information, which is limited to characters` of one type face and case and spaces, as aforesaid, thedesired qualifications of type case and type face.

The width computer has stored in it the width value for each character in each type face and type case, and for each input character and space, it provides on its 6-bit parallel output the appropriate width value in binary form. T he output of the lwidth computer 12 is applied to the character width accumulator 13 which digitally totalizes all the width values for each line and provides this totalized value to comparator unit 14 through a parallel line output, the number of lines depending on the numerical capacity of the accumulator.

The desired line length is set into the selected line length unit 15 which in turn provides a second input to comparator unit 14. The comparator unit determines the difference and the sense of the difference between the inputs from the width accumulator 13 and the selected line length unit 15. When this difference indicates that the width value is less than the selected line length, the com-- parator unit 14 also provides on the output the quantitative value of this difference. The comparator unit 14y produces an output in one instance representing the quantitative difference between the selected line length and the. totalized character widths, and in the `other instance, a signal indicating that the accumulated character widths exceed the selected line length. This information is pro;

aaaas vided to storage unit 21, which is a conventional memory element capable of retaining this information, and delivering it as an output only upon a triggering signal from the program unit 20.

The program unit 26 is arranged with a predetermined program to provide the instructions to the remainder of the apparatus in accordance with the particular qualifications which need to be introduced for any particular type of listing or type composition. The speed with which the input tape is moved through the reader is controlled by a tape ow control 22 which may either provide for varying-speed, continuous motion or for intermittent motion, depending upon the particular type of input arrangement and the exact detailed operation of the individual computer and data processing components.

A second reader unit 23 is also operative to translate the infomation from the tape into a 6-bit parallel output. The second reader 23 senses and operates on the same information on the coded input tape, but at a time subsequent to the first readers action. The output from the second reader 23 is furnished to a translating computer 24 whose operation is again controlled by a program unit 20.

The translating computer provides a 6-bit parallel output, designated character output to a code repeater unit 25. The character output for the translating computer 24 provides a series of codes for the type characters with the qualifications of type face introduced by the action of the computer in accordance with the instructions in the program unit 20. Translating computer 24 also delivers a second output designated Capital Output to a capital program unit 26. In the instance of telephone directory listing described previously, the capital output signal is a signal representing each thin space translated by the second reader, and upon receipt of a thin space signal at the capital program unit 26 from the translating computer 24, the capital unit will provide an output to the code repeater which will capitalize the alpha-character next received by the repeater.

The code repeater 25 is a unit which, upon instructions from the program unit 20, repeats its input to the output tape perforator 27, which in turn generates a coded output tape bearing perforation codes adapted to operate a line casting machine 30. It should be observed at this point that numerous alternatives are available for utilizing the system output at tape perforator 27. These possibilities will be discussed later.

At an appropriate point in the operational sequence, the program unit 20 instructs the storage unit 21 to provide to the output perforator 27 the justification information, which in the example under consideration, is in the form of leader dots. The number of dots in this instance is determined by the quantitative difference between the accumulated character width and the selected line length. In the event that the selected line length is less than the accumulated character width, the storage unit 21 provides an output signal to the perforator 27 which indicates a two-line split. Under these circumstances, the program is operative so that the two lines forming the single listing are both justified or quadded.

Turning now to FIGS. 2 and 3, which are to be read together as a single detailed block diagram, a data processing apparatus, of the type generally disclosed in FIG. l, is shown for processing telephone listings. Like numbers in FIGS. 2 and 3 refer to like components, and again, in the specific embodiment shown, the output is directed to the input of a line casting machine.

With reference initially to the portion of the system shown in FlG. 2, a first tape reader 31, which is adapted to translate the aforesaid coded input tape into a 6-bit, parallel line coded electrical output, furnishes the input to a translator and shift program unit 32, which for convenience is hereinafter referred to as the translator unit. The translator unit 32 is typically a tree circuit or matrix decoder which delivers electrical signals on individual output lines, each signal line corresponding to a respective code appearing on the tape being read. The particular tape codes to be translated are, of course, those which appear on the typists keyboard, but in general these will be the alpha-numeric characters and the function codes necessary for type-composition. Typically, of the output lines emanating from the translator 32, forty-one lines, representing the upper and lower case alpha-numeric symbols, are coupled to the capital shift circuit 33. The shift and unshift signals read from the tape are separately provided to a different point in the capital shift circuit 33, as will be explained below.

The translator 32 also provides individual electrical outputs for the space band, thin space, comma, period, ern space, en space, and the em and en leader codes. The capital shift circuit 33 is arranged to actuate selectively eighty-two individual output lines, forty-one of which, as labelled, represent the lower case alpha symbols, while the other forty-one represent the upper case alpha symbols.

The translator 32 is programmed in a manner to be further discussed below, so that it recognizes, from the spacing and other designated symbols, the need for the capitalization of certain of the alpha symbols, and it provides this information on the shift and unshift leads to the capital shift circuit 33.

Thus, while the typist preparing the input tape ordinarily presents all the information to the rst reader in a single type face and type case, the capital shift circuit 33 in response to the shift and unshift signals provides certain of the incoming alpha signals on the upper case output rather than the lower case output to the Width assignment unit 34. The translator also delivers the space bands, comma, period, em and en spaces and other output decoded signals to the width assignment unit 34.

The width .assignment unit 34 is a precoded computertype function-table, in which is stored the appropriate information as to the width value for each of the alpha numeric symbols as well as the space band, em and en spaces, etc. The output of the width assignment unit 34 comprises in a specific instance 29 individual Width value outputs which in turn are coupled to a binary width encoder 35. These individual outputs carry the width value for each of the incoming input symbols, and the binary width encoder 35 converts each of these Width assignments into an electrical binary code signal which is then provided on a 6-bit parallel output to the character width accumulator 4t).

The character width accumulator 40 sums the width signals from binary width encoder 35 until a reset signal appears on the designated output line from translator 32; the reset signal being generated as a result of the typist actuating the Return key at the end of each line in the preparation of the input tape. The output of the character Width accumulator 4t) is coupled to a comparison unit 41, to which is also applied a width value from the selected line length unit 41, namely, the selected line length for the particular listing.

When the reading of a line is concluded in first reader 31, the translator unit 32 provides a readout signal followed by a reset signal. Upon the generation of a readout signal, an output signal is sent from the comparison unit 41 to the storage unit 43. If the selected line length is greater than the width value of characters and spaces accumulated in character width accumulator 40, the signal from comparison unit 41 to the storage unit 43 is a quantitative, numerical electrical difference signal indicating the difference between the selected line length and the accumulated Width of the characters. If, on the other hand, the accumulated character Width is greater than the selected line length, a single impulse signal is provided from the output of the comparison unit 41 to the storage unit 43, which signal indicates that the listing is to be set in type as two lines. Although the lpresent discussion will assume that a two-line split listing is to be 7 quadded left and right, it should be noted that the comparison unit could be modified to provide, not only information to split the listing, but also the data required to justify either or both of the two lines.

After readout from comparison unit 41, the reset signal from the translator 32 is applied to the character width accumulator 40 which returns the latter to zero value in preparation for the next line. The translator unit 32 also provides a delete signal and a no-program signal to storage unit 43.

Thus, the function of the rst reader and its associated circuits is to provide into the storage unit 43 a signal indicative of the width of each line with the qualifications of type face and type case included in order to achieve, at a later point, the justification process.

Referring now to that portion of the apparatus specifically shown in FIG. 3, a second reader 44 provides a 6- bit parallel output from each of the tape codes both to a partial translator 45 and to a code repeater 47. The second reader 44 operates on the input tape in exactly the same fashion as does the first reader unit 31, but at a later time, hence the information previously decoded by the i'irst reader is decoded subsequently by the second reader. This time delay is arranged so that the information as to the total width value of the line has been inserted into the storage unit 43 before the second reader unit 44 commences to translate the code information for the second time.

The partial translator 45 provides an output signal indicative of the thin spaces in the codes from second reader 44 and this output is connected to a thin space capitalization unit 46. The thin space capitalization unit 46 is programmed to provide shift and unshift codes through the delete unit S2 to the output perforator 53 in the manner which will be explained more fully below. The thin space capitalization unit 46 also provides an output signal to the code repeater unit 47.

The partial translator 45 provides outputs to the storage unit 43, which outputs contain signals for the space band, elevate, the alpha common and the numbers common. Storage unit 43 is, as shown, the identical storage unit which appears in FIG. 2. Code repeater 47 is a unit which upon command repeats precisely the code at its input, as derived from second reader 44. Thus, if code repeater 47 receives a command signal from either of the program units 50 or 51, it will repeat the symbol code present at the input.

There are two program units shown; the one-line program unit 50 and the two-line program unit 51; the prog-ram unit controlling in the preparation of any particular line being determined by the storage unit. Thus, if the comparison output shows an excess of accumulated character widths over the selected line length, the storage unit 43 is in the overset position and the two-line program unit 51 will control the output from the second reader 44. On the lother hand, if the selected line length exceeds the accumulated character widths, then the storage unit 43 indicates a not-overset signal, and the oneline program unit 50 will control. Details of each of these programs will follow,

Each of the program units 50 and 51 provides a repeat output to the code repeater 47, which is the command signal for the latter, and a reader control signal to the second reader 44. In addition, each of the program units 50 and 51 couples an individual program generated code output through delete unit 52 to output perforator 53. The delete unit 52 is controlled from the storage unit 43 in response to signals from the translator 32 in such a manner that when the typist encodes a delete signal, the delete unit acts as a no-pass gate at the second reading, thus preventing any output from appearing. In normal circumstances, when there is no delete signal, the delete unit passes all signals from the code repeater, from the program units and from the thin space capitalization unit 26 to the output perforator 53. The output perforator 53,

vin response to input codedI signals, perforates an output Ytape, which, in the customary manner, may at any time be read to control line casting machine 54. It should be clear, however, that the signal input to output perforator 53 may be used directly as an input to a code-controlled line casting machine without the need for the preparation of an additional tape. If such direct operation is chosen, a tape may still be punched at perforator 53 for a permanent record.

Having described the function and interconnection of each of the units in the data processing system illustrated in FIGS. 2 and 3, the operation in terms of programming will now be more fully discussed.

As noted above, the entire line in a typical telephone listing is typed in a single type face and type case in normal circumstances. The case changes, that is, the capitalization program, are generally dependent upon the thin space (or equivalent code) signals which are typed into the original listing. The capitalization program would then be as follows:

Input Signal Function and Output Codes Thin space First alpha character after thin space.

A typical program for a single-line listing for the program unit 56 would be as follows:

Input Signal Function and Output Codes First alpha character Read and store the alpha character code, stop reader. Send shift code to perforator. Send upper rail code to perforator. Re. peat character code to perforator, send unshift code to perforator and restart reader.

Repeat the space band code to the perforator and stop reader, send lower rail code to perforator and restart reader.

Read and store the alpha character code, stop reader. Send shift code to perforator Repeat character code to perforator, send unshift code to perforator and restart reader.

Repeat space band code to perforator and stop reader, send upper rail code to perforator, read out the leaders in storage 43, directing a suitable number of leader codes to the perforator, restart the reader.

Read and store the alpha character code, stop reader. Send shift code to perforator. Repeat character code to perforator and restart reader.

Repeat character code to perforator and stop reader` Send unshift code to perforator and restart reader.

Repeat number code to perforator and stop reader, send hyphen code to perforator and restart reader.

First space band in a 1ine First alpha character after first space band.

Second space band in a line.

First alpha character after second space band.

Second alpha character after second space band.

First number following at least two alphas or two numbers after second space band.

Elevate Send return code to perforator and stop reader. Send elevate code to perforator.

Finch is E 234 Savin Lane @I 2-5435 Finch leRoy Sedalia Rd 25d-7889 Finch Thos l 16 Barnes ELiot 5-6798 The input keyboarding for these three outputs would be respectively as follows:

TS TS SB TS TS SB TS Elcvate finch ijas i nl 234i Savin i lane i em i 25435i,

TSU S U TS SB TS SB Elevato nchi ile i r i oy i ai Sedalia i rd i 257889i.

TS SB TS SB TS Elevate finch i thomas i 16 i barnes i eliot i 56798 i Thus, with a code input from the first reader 31, bearing the keyboard data shown immediately above, the systern of FIGS. 2 and 3 will develop an output tape capable of actuating a line casting machine 54 to produce the three output effects first indicated.

Earlier it was mentioned that the translator unit 32 (translator and shift program unit 32.) of FIG. 2 recognizes, from the spacing and other designated symbols, the need for capitalization of certain of the alpha characters. This, of course, is required in order to permit the width assignment unit 34 to furnish the correct width value output to the character width accumulator 4t). As an example, the first letter in each of the lines beginning with finch must be assigned the width of the upper case E, while the letter immediately following must be assigned the width value of the lower case i. Since the system programs are now under discussion, it is appropriate to set forth here, the program of translator unit 32, insofar as it relates to the generation of the shift and unshift codes for introduction to the capital shift circuit 33, as the input tape is read by first reader 33:

Translator Shift and Unshft Program Input Signal Output Signals First alpha character in Operate shift circuit, pass alpha character line. to Width assignment u nit. Operate unshift circuit.

After each thin space in After rst space band in line.

Operate shift circuit, pass alpha character to Width assignment unit. Operate unshilt circuit.

Operate shift circuit, pass alpha character to Width assignment unit. Operate unshit After second space band in line.

Elevate With this program, it may be seen that character Width accumulator 40 will totalize the alpha-numeric and space Widths exactly as these widths will appear in the final cast line.

Where the totalized value of the character widths exceeds the selected line length, the two-line program is effective, and as earlier indicated, the decision to employ the two-line program is made by the comparison unit 41 in the first reader circuit. The line split in a telephone listing is usually made by breaking the line after the end of the name and before the address; for which the follow- T ypcal two-line program Input Signal Function and Output Codes First alpha character in a line.

First space baud in a line.

Firstalpha character after first space baud.

Second space band in a line.

First alpha character after second space band.

Elevata Read and store the alpha character code, stop reader. Send shift code to perforator. Send upper rail code to perforator. Repeat character code to perforator; send unshift code to perforator and restart reader.

Send quad left" to perforator and stop reader; send return code to perforator and elevate code to periorator; send lower rail code to pertorator and restart reader.

Read and store the alpha character code, stop reader. Send shift code to perforator. Repeat character code to perioratcr, send unshitt code to perforator and restart reader.

Send upper rail code to perforator and stop reader; send en leader code to pertorator; and restart reader.

Read and store the alpha character code, stop reacer. Send shift code to perlorator. Repeat character code to perforator and restart reader.

Repeat character code to periorator and stop reader. Send unshift code to perforator and restart reader.

Repeat number code to periorator and stop reader; send hypheu code to perforator and restart reader.

Send quad right to perforater and stop reader; send return code to perforator; send elevate code to perforator; restart reader.

If the selected line length for the first example presented under the one-line program for listings were shorter than the accumulated Character Widths in that line, the input keyboarding, though unchanged, would result in an output on the perforated tape generated by perforator S3, as follows:

(Quad Left) (Quad Right) TS TS TS In addition to the oneand two-line programs described above, the data processing system illustrated in FIGS. 2 and 3 utilizes two signals which override the usual programming. One of these signals is the delete signal, which the operator keyboarding the input to the apparatus may keyboard at any time and which has the effect of cancelling out the entire line through the operation of the delete unit 52. As mentioned above, the first reader 31 responds to the delete signal by entering into storage a signal which will later gate delete unit 52 closed; hence, despite second reader operation, no output signal is transferred to perforator 53. The other control signal is the no program signal, for which the keyboard operator inserts a return signal in the line. Where this code appears in the output of translator 32, the output tape bears exactly the codes of the input tape, without change. Any line casting signals then, which the typist wishes to provide, must be keyboarded under these circumstances.

As an additional feature, in the illustrated processing system for telephone directory preparation, a listing which is initially keyboarded with the exchange in tbe usual form of letters plus the telephone number may be delivered t0 the output in an all-numerical code (ANC listing). The usual code transformation for ANC may be derived from a telephone dial, that is, the letters ABC are represented by the numeral 2, the letters DEF by the numeral 3, etc. In this manner, it may be seen that a telephone exchange which Was previously identified as RE-4 will be 734 in ANC.

With reference back to FIG. l, the ANC program may be inserted in such a manner that translating computer 24 furnishes a i-number grouping immediately following the leader dots, and in substitution for the two letters and one digit of the exchange. This information will be transmitted directly to the output perforator. In short then, the typist may keyboard the old exchange information and the translating computer will furnish the data necessary to operate the output perforator in ANC fashion, each number of the ANC code respectively representing the letter in a S-letter grouping technique of the dial System.

It is possible, however, that the ANC code for a particular exchange is not represented by the dial telephone code conversion mentioned immediately above. Thus, if an exchange such as PIE-7 were converted to an ANC code of 391, an auxiliary store of .data lis provided. This is shown in FIG. l in dotted lines as the block designated store for exchange for ANC, 62. After the leader dots in such a translation, the outputs of the next three characters from the translating computer are routed to store 62 and the appropriate 'respective number is presented to output perforator 27. In this manner, the apparatus of FIG. l may provide for the usual or special conversions from the letter-number exchange to ANC. The apparatus shown in FIGS. 2 and 3 may be similarly modified to accommodate ANC listings.

Where a telephone exchange is in the transitional period between the letter-number designations and ANC, it is sometimes desirable to provide directory listings for the telephone information operator which not only contain the ANC codes but also show the previous letter-number exchange. Thus, the programming of the processor shown may be arranged to provide a listing in the manner shown immediately below:

Finch J@ E 234 Savin Lane 362-5435 BMZ Finch Thos 1 16 Barnes 355-6798 ELS Of interest with reference to the above sample listings, it may be seen that with a single operation, listings for the final public directory and the telephone information operator may be obtained simultaneously. Thus, if the line casting machine prepares listings as shown above, a first printing will result in a directory useful to the information operator. Thereafter, the slug may be sawed to remove the tail which includes the old exchange information and the remaining slugs used for printing the public directory.

It will now be apparent that the foregoing specification has set forth data processing apparatus for producing justified, or quadded lines of type in accordance with a pre-established listing pattern, with appropriate qualifications of type face and type case. The type composition apparatus discussed was specifically directed toward the generation of an output capable of actuating a line casting machine or the like Where the input signals represented unjustified lines of spaced apart type characters in but a single type face and case. It will now be apparent that other embodiments are possible within the concepts of this invention. For example, while perforated tape has been chosen as a means of illustrating this invention, other data storage media are available, and earlier in the specification, magnetic tape was specifically mentioned. However, the input tape may be dispensed with, if the input keyboarding is directly inserted into a suitable, conventional computer memory unit, for instance, a magnetic core memory. In this type of arrangement the input keyboarding for one or more lines is stored directly in the memory, which then may be interrogated as in FIG. l in a manner analogous to the first and second readings of perforator tape. Alternatively, the electrical signal output of the input keyboarding may be coupled directly to the translator and first program unit 32, FIG. 2, and also to a suitable memory element for interrogation equivalent to the second reading discussed above.

Where input tape is used as a means of recording the signals generated by the initial keyboarding, a single reader will suffice, if the input tape is read through twice, with appropriate switching to direct the reader output signals in a manner corresponding to the first and second reader outputs, respectively. It would also be possible, to keyboard at the input two identical tapes, one of which is read by the first reader 31 while the second is read by the second reader 44, the time sequenching again being as described above in this specification. The technique selected for a particular embodiment will depend upon the economics of the particular system installation and also, as should be apparent, the speed at which it is desired to generate the output signals.

Although it is customary in telephone listings to use different type faces within a line, there are certain applications which do not require the change in face. The programs set forth above demonstrating type face change may be modified to accommodate this simpler form of type composition. Justification may still be achieved, however, by the insertion from storage of a necessary length of leader dots. It is also equally possible to omit the justification step and simply employ the capitalization program, with or without change in type face if the listing under preparation does not require justified lines. In any of these cases, the time and cost reduction in type composition, through the use of this invention, is substantial.

While the invention has been described chiefly in terms of embodiment for the preparation of directory listings,

it should now be clear that a type setting, or key stroke control unit embodying the principles herein disclosed may be applicable for numerous other types of composition. Accordingly, this invention should be construed as limited only by the spirit and scope of the appended claims.

What is claimed is:

1. Data processing apparatus for providing coded output signals representing justified lines of spaced-apart words and characters and having a reiterated pattern of case differences and type face differences related to the spacing between and position in the line of said words and said characters comprising, means for applying an input of coded input signals representing the lines of said spaced-apart words and characters in a single case and type face and without justification; a first reader adapted to translate said coded input signals into electrically coded output signals; a first computer responsive to said first reader output signals and adapted to provide an output signal representing in electrical form the accumulated width value of all of said words and characters and said spacings in each of said lines, comparison means responsive to said first computer output and adapted to provide an output signal representing the difference between said first computer output and a predetermined width value for justifying each of said lines, storage means for retaining said comparison means output signal and adapted to release said comparison means output signal only in response to a command signal; a second reader adapted to respond to said coded input signals subsequent to said first readers response thereto; said second reader being adapted to provide output signals representative of said coded input signals; a second computer responsive to said second reader output signals, said second computer being programmed to respond to said second reader output signals to provide an output representing said lines of spaced-apart words and characters with said reiterated pattern of case differences and type face differences; said second computer being adapted to provide said command signal to said storage means for releasing said comparison means output signal to provide a justified output line.

2. Apparatus in accordance with claim 1 wherein said second computer is adapted to provide said output representing said spaced-apart words and characters in two-line form when said accumulated character width exceeds said predetermined line width.

3. Data processing apparatus for producing from a series of sequential input code signals representing unjustified lines of spaced-apart type characters in a single type face and case, output type-composing signals to represent said lines in justified form with qualifications of type face and type case according to a predetermined program: comprising, a first reader adapted to respond to said series of sequential input code signals and to provide output electrical signals representing said input code signals, a first computer responsive to said first reader output and adapted to determine in accordance with said predetermined program the said type face and type qualifications for each of said characters and to provide an output signal representing the accumulated width value of all of said characters in each of said lines; comparator means responsive to said first computer output and adapted to provide an output signal representing the difference between said first computer output and a predetermined width value for justifying each of said lines; a second reader responsive to said series of sequential input code signals at a time subsequent to said first readers responding to said series of sequential input code signals and adapted to provide output electrical signals representing said input code signals; a second computer responsive to said second reader output and adapted to determine in accordance with said predetermined program said type face and type case qualifications for each of said characters and to provide output siganls representing lines of spaced-apart characters with said qualifications of type face and type case; and an output en- 13 coder responsive to said first computer output and said second computer output and adapted to generate said output type-composing signals.

4. Data processing apparatus in accordance with claim 3 wherein said second computer in response to selected ones of said input code signals provides to said output encoder type-composing signals different in character than those represented by the respective input code signals.

5. Data processing apparatus in accordance with claim 4 wherein said selected ones of said input code signals are of equal number in each of said lines and characteristic of a particular code, said different type-composing signals substituted therefor being characteristic of a respective different code.

6. Data processing apparatus in accordance with claim 3 and including a line casting machine operable from type-composing signals, and means for coupling said output encoder to said line casting machine.

7. Data processing apparatus for providing a coded output tape representing justified lines of spaced-apart characters having a reiterated pattern of case differences and type face differences comprising, means for reading a coded input tape representing lines of said spaced apart characters in a single case and type face and without justification; a first reader adapted to translate said coded tape into output signals; a :first computer responsive to said first reader output signals and adapted to provide as an output justification signals; a second reader adapted to respond to said coded input tape subsequent to said first readers response to said coded input tape, said second reader being adapted to provide electrical output signals representative of said code on said input tape; a second computer responsive to said second reader output signals, said second computer being programmed to respond to said second reader output signals in such a manner as to provide an electrical output representing said lines of spaced apart characters with said reiterated pattern of case differences and type face differences; an output encoder responsive to said justification signals and said second computer output signals and adapted to provide said encoded output tape.

8. Data processing apparatus in accordance with claim '7 wherein said second reader response to said coded input Ita-pe is subsequent to said Ifirst reader response thereto by a time sufiicient to permit said first reader to translate a complete one of said lines for the generation of said justification signals therefor.

9. Data processing apparatus in accordance with claim 7 wherein said first computer for providing said justification signals includes means for establishing a predetermined line Awidth in a lfirst electrical Width code, means responsive to selected ones of said first reader output signals to pro-vide respective electrical width codes, means for summing said last mentioned width codes to provide a second electrical width code, and a comparator providing an output characteristic of the difference between said first and second electrical width codes.

10. Data processing apparatus in accordance with claim 9 and including means operative from said first reader for delivering the output of said comparator as said justification signal prior to the operation of said second reader.

11. Data processing apparatus in accordance with claim 10 wherein said output of said comparator comprises an electrical width signal representing the numerical difference between said first and second electrical Width codes when said rst is lar-ger than said second, and a distinctive electrical signal when said second is larger than said first.

12. Data processing apparatus in accordance with claim 7 and including a code repeater coupling said second reader to said output encoder, means in said second computer for actuating said code repeater to transmit to said output encoder selected ones of said second reader output signals substantially without change, and means in said second computer responsive to other of said second reader output signals rior actuating said output encoder to introduce to said output tape codes and groups of codes different lfrom the respective other signals.

13. Data processing apparatus or producing from a series of sequential input code signals representing unjustified lines of spaced-apart type characters, output typecornposin=g signals to represent said lines in justified form according to a 'predetermined pro-gram: comprising, a first -reader adapted to respond to said series of sequential input code signals and to provide output electrical signals representing said input code signals, a first computer responsive to said first reader output and adapted to provide an output signal representing the accumulated width value of all of said characters in each of said lines; comparator means responsive to said first computer output and adapted -to provide an out-put signal representing the difference `between said first computer output and a predetenmined width value for justifying each of said lines; a second reader responsive -to each of said series of sequential input Icode signals representing an unjustified line at a time subsequent to said comparator means providing the said justifying output signal for the respective one of said lines, said second reader being adapted to provide output electrical signals representing said input code signals; a second computer responsive to said second reader output, and an output encoder -responsive to said first computer output and said second computer output and adapted to generate said output type-composing signals.

References Cited by the Examiner UNITED STATES PATENTS 2,762,485 9/ 1956 Bafour et al. 197-20 2,848,049 8/1958 Robbins et al. 197-20 X 2,876,687 3/1959 Higonnet et al. 235--151 X 2,934,145 4/ 1960 Blodgett 234-10 X 2,988,276 6/1961 Grea et ai. 235-151 3,010,095 1l/l961 Dirks 34041725 3,011,154 11/1961 Dirks 199-51 MALCOLM A. MORRISON, Primary Examiner.

DARYL W. COOK, Examiner. 

13. DATA PROCESSING APPARATUS FOR PRODUCING FROM A SERIES OF SEQUENTIAL INPUT CODE SIGNALS REPRESENTING UNJUSTIFIED LINES OF SPACED-APART TYPE CHARACTERS, OUTPUT TYPE-COMPOSING SIGNALS TO REPRESENT SAID LINES IN JUSTIFIED FORM ACCORDING TO A PREDETERMINED PROGRAM: COMPRISING, A FIRST READER ADAPTED TO RESPOND TO SAID SERIES OF SEQUENTIAL INPUT CODE SIGNALS AND TO PROVIDE OUTPUT ELECTRICAL SIGNALS REPRESENTING SAID INPUT CODE SIGNALS, A FIRST COMPUTER RESPONSIVE TO SAID FIRST READER OUTPUT AND ADAPTED TO PROVIDE AN OUTPUT SIGNAL REPRESENTING THE ACCUMULATED WIDTH VALUE OF ALL OF SAID CHARACTERS IN EACH OF SAID LINES; COMPARATOR MEANS RESPONSIVE TO SAID FIRST COMPUTER OUTPUT AND ADAPTED TO PROVIDE AN OUTPUT SIGNAL REPRESENTING THE DIFFERENCE BETWEEN SAID FIRST COMPUTER OUTPUT AND A PREDETERMINED WIDTH VALUE FOR JUSTIFYING EACH OF SAID LINES; A SECOND READER RESPONSIVE TO EACH OF SAID SERIES OF SEQUENTIAL INPUT CODE SIGNALS REPRESENTING AN UNJUSTIFIED LINE AT A TIME SUBSEQUENT TO SAID COMPARATOR MEANS PROVIDING THE SAID JUSTIFYING OUTPUT SIGNAL FOR THE RESPECTIVE ONE OF SAID LINES, SAID SECOND READER BEING ADAPTED TO PROVIDE OUTPUT ELECTRICAL SIGNALS REPRESENTING SAID INPUT CODE SIGNALS; A SECOND COMPUTER RESPONSIVE TO SAID SECOND READER OUTPUT, AND AN OUTPUT ENCODER RESPONSIVE TO SAID FIRST COMPUTER OUTPUT AND SAID SECOND COMPUTER OUTPUT AND ADAPTED TO GENERATE SAID OUTPUT TYPE-COMPOSING SIGNALS. 